package com.ruoyi.bl.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysDept;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户信息对象 bl_users
 *
 * @author ruoyi
 * @date 2024-12-08
 */
public class BlUsers extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 表id */
    private Long userId;

    /** 部门ID */
    private Long deptId;

    /** 供应商id */
    @Excel(name = "供应商id")
    private Long suppliersId;

    /** 公司id */
    @Excel(name = "公司id")
    private Long companyId;

    /**  */
    @Excel(name = "")
    private Long sysUserId;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    private String userName;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /**  */
    @Excel(name = "")
    private String salt;

    /**  1 男 2 女 3未知 */
    @Excel(name = " 1 男 2 女 3未知")
    private Integer sex;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 用户金额 */
    @Excel(name = "用户金额")
    private BigDecimal userMoney;

    /** 冻结金额 */
    @Excel(name = "冻结金额")
    private BigDecimal frozenMoney;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date regTime;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLogin;

    /** 最后登录ip */
    @Excel(name = "最后登录ip")
    private String lastIp;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String mobile;

    /** 是否验证手机 */
    @Excel(name = "是否验证手机")
    private Integer mobileValidated;

    /** 第三方唯一标示 */
    @Excel(name = "第三方唯一标示")
    private String openid;

    /** 头像 */
    @Excel(name = "头像")
    private String headPic;

    /** 第三方返回昵称 */
    @Excel(name = "第三方返回昵称")
    private String nickname;

    /** 是否被锁定冻结 */
    @Excel(name = "是否被锁定冻结")
    private Integer isLock;

    /** 第一个上级判断由哪个销售介绍进入 */
    @Excel(name = "第一个上级判断由哪个销售介绍进入")
    private Long firstLeader;

    /** 用于app 授权类似于session_id */
    @Excel(name = "用于app 授权类似于session_id")
    private String token;

    /** 用户系数 */
    @Excel(name = "用户系数")
    private BigDecimal ratio;

    private SysDept sysDept;

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setSuppliersId(Long suppliersId)
    {
        this.suppliersId = suppliersId;
    }

    public Long getSuppliersId()
    {
        return suppliersId;
    }
    public void setCompanyId(Long companyId)
    {
        this.companyId = companyId;
    }

    public Long getCompanyId()
    {
        return companyId;
    }
    public void setSysUserId(Long sysUserId)
    {
        this.sysUserId = sysUserId;
    }

    public Long getSysUserId()
    {
        return sysUserId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setPassword(String password)
    {
        this.password = password;
    }

    public String getPassword()
    {
        return password;
    }
    public void setSalt(String salt)
    {
        this.salt = salt;
    }

    public String getSalt()
    {
        return salt;
    }
    public void setSex(Integer sex)
    {
        this.sex = sex;
    }

    public Integer getSex()
    {
        return sex;
    }
    public void setBirthday(Date birthday)
    {
        this.birthday = birthday;
    }

    public Date getBirthday()
    {
        return birthday;
    }
    public void setUserMoney(BigDecimal userMoney)
    {
        this.userMoney = userMoney;
    }

    public BigDecimal getUserMoney()
    {
        return userMoney;
    }
    public void setFrozenMoney(BigDecimal frozenMoney)
    {
        this.frozenMoney = frozenMoney;
    }

    public BigDecimal getFrozenMoney()
    {
        return frozenMoney;
    }
    public void setRegTime(Date regTime)
    {
        this.regTime = regTime;
    }

    public Date getRegTime()
    {
        return regTime;
    }
    public void setLastLogin(Date lastLogin)
    {
        this.lastLogin = lastLogin;
    }

    public Date getLastLogin()
    {
        return lastLogin;
    }
    public void setLastIp(String lastIp)
    {
        this.lastIp = lastIp;
    }

    public String getLastIp()
    {
        return lastIp;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setMobileValidated(Integer mobileValidated)
    {
        this.mobileValidated = mobileValidated;
    }

    public Integer getMobileValidated()
    {
        return mobileValidated;
    }
    public void setOpenid(String openid)
    {
        this.openid = openid;
    }

    public String getOpenid()
    {
        return openid;
    }
    public void setHeadPic(String headPic)
    {
        this.headPic = headPic;
    }

    public String getHeadPic()
    {
        return headPic;
    }
    public void setNickname(String nickname)
    {
        this.nickname = nickname;
    }

    public String getNickname()
    {
        return nickname;
    }
    public void setIsLock(Integer isLock)
    {
        this.isLock = isLock;
    }

    public Integer getIsLock()
    {
        return isLock;
    }
    public void setFirstLeader(Long firstLeader)
    {
        this.firstLeader = firstLeader;
    }

    public Long getFirstLeader()
    {
        return firstLeader;
    }
    public void setToken(String token)
    {
        this.token = token;
    }

    public String getToken()
    {
        return token;
    }
    public void setRatio(BigDecimal ratio)
    {
        this.ratio = ratio;
    }

    public BigDecimal getRatio()
    {
        return ratio;
    }

    public SysDept getSysDept() {
        return sysDept;
    }

    public void setSysDept(SysDept sysDept) {
        this.sysDept = sysDept;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("userId", getUserId())
                .append("deptId", getDeptId())
                .append("suppliersId", getSuppliersId())
                .append("companyId", getCompanyId())
                .append("sysUserId", getSysUserId())
                .append("userName", getUserName())
                .append("password", getPassword())
                .append("salt", getSalt())
                .append("sex", getSex())
                .append("birthday", getBirthday())
                .append("userMoney", getUserMoney())
                .append("frozenMoney", getFrozenMoney())
                .append("regTime", getRegTime())
                .append("lastLogin", getLastLogin())
                .append("lastIp", getLastIp())
                .append("mobile", getMobile())
                .append("mobileValidated", getMobileValidated())
                .append("openid", getOpenid())
                .append("headPic", getHeadPic())
                .append("nickname", getNickname())
                .append("isLock", getIsLock())
                .append("firstLeader", getFirstLeader())
                .append("token", getToken())
                .append("ratio", getRatio())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
